package com.autoMobile.servlet.rrm;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.*;

import com.autoMobile.bean.rrmSgjl;
import com.autoMobile.dao.rrmbxDao;

import java.io.IOException;

@WebServlet("/UpdateSgjlServlet")
public class UpdateSgjlServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;

    // 处理GET请求
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // 获取用户ID参数
        String idStr = request.getParameter("id");  // 使用getParameter获取URL中的参数
        int id = -1;

        // 解析ID
        try {
            id = Integer.parseInt(idStr);  // 解析ID
        } catch (NumberFormatException e) {
            response.getWriter().write("Invalid ID format.");
            return;
        }

        // 从数据库获取用户信息
        // 假设你已经有一个UserDao类来处理数据库查询
        rrmbxDao bxdao = new rrmbxDao();
        rrmSgjl sgjl = bxdao.findSgjlById(id);  // 获取事故记录
        request.setAttribute("sgjl", sgjl);  // 将Sgjl对象存储到request中
        request.getRequestDispatcher("/admin/Updatesqlp.jsp").forward(request, response);
    }

    // 处理POST请求
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 设置字符编码，防止中文乱码
        request.setCharacterEncoding("UTF-8");

// 获取请求中的参数 "id"
        String idStr = request.getParameter("id");
        int id = -1;  // 默认值，可以根据需求调整

        if (idStr != null && !idStr.trim().isEmpty()) {
            try {
                // 去除字符串两端的空格后再进行转换
                id = Integer.parseInt(idStr.trim());
            } catch (NumberFormatException e) {
                // 处理无效的数字格式错误
                e.printStackTrace();  // 打印日志，方便调试
                // 或者返回一个友好的错误提示，告知用户输入无效
                System.err.println("无效的 'id' 参数值: " + idStr);
                // 返回错误响应或跳转到错误页面
            }
        } else {
            // 处理没有传递 id 参数的情况
            System.err.println("缺少或无效的 'id' 参数。");
            // 返回错误响应或跳转到错误页面
        }


        // 获取表单字段数据（使用request.getParameter来获取）
        String sglx = request.getParameter("sglx");
        String xxms = request.getParameter("xxms");
        String sgsj = request.getParameter("sgsj");
        String sgdd = request.getParameter("sgdd");
        String jsy = request.getParameter("jsy");
        String cph = request.getParameter("cph");
        String lpje = request.getParameter("lpje");


        // 输出数据到控制台，调试用

        // 创建事故记录对象
        rrmSgjl sgjl = new rrmSgjl();
        sgjl.setId(id);
        sgjl.setSglx(sglx);
        sgjl.setXxms(xxms);
        sgjl.setSgsj(sgsj);
        sgjl.setSgdd(sgdd);
        sgjl.setJsy(jsy);
        sgjl.setCph(cph);
        sgjl.setLpje(lpje);

        // 将数据存入数据库
        rrmbxDao bxdao = new rrmbxDao();

        bxdao.UpdateSgjl(sgjl);

        // 跳转到结果页面或返回反馈信息
        response.sendRedirect("/javaWeb24_12_war_exploded/sgjlServlet");  // 假设成功后跳转到 success.jsp
    }
}
